package com.xtck.ha.fault.modules.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xtck.ha.fault.framework.page.PageResult;
import com.xtck.ha.fault.framework.utils.JsonResult;
import com.xtck.ha.fault.modules.pojo.dto.ModInfoDTO;
import com.xtck.ha.fault.modules.pojo.entity.ModInfo;
import com.xtck.ha.fault.modules.pojo.vo.ModInfoVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
* @ClassName: ModInfoService
* @Description: ModInfo业务访问接口
* @author liuyuan
* @date 2025-06-17
*/
public interface ModInfoService  extends IService<ModInfo> {

    JsonResult<String> add(ModInfoVO vo, MultipartFile algorithmFile);

    PageResult<ModInfoVO> page(ModInfoDTO query);

    ModInfo save(ModInfoVO vo);

    ModInfo update(ModInfoVO vo);

    void delete(List<Long> idList);

    /**
     * 启动模型服务
     * @param modInfo 模型信息
     * @return 结果日志
     */
    JsonResult<String> startAlgorithmServer(ModInfo modInfo);

    /**
     * 停止模型服务
     * @param modInfo 模型信息
     * @return 结果日志
     */
    JsonResult<String> stopAlgorithmServer(ModInfo modInfo);

    List<ModInfo> getAllMod();

}
